package com.maegul.data.entities;

import java.io.Serializable;

/**
 * Clase que modela lo que debe tener una entidad que pertenezca a esta
 * aplicacion
 */
public interface IEntity extends Serializable {

	/**
	 * Retorna el id de la entidad
	 * 
	 * @return El id de la entidad
	 */
	int getId();

	/**
	 * Pregunta si la entidad es nueva, es decir, si no tiene id numerico
	 * 
	 * @return <code>true</code> si la entidad es nueva, <code>false</code> de
	 *         lo contrario
	 */
	boolean isNew();

	/**
	 * Pregunta si la entidad esta persistida en la base de datos
	 * 
	 * @return <code>true</code> si la entidad esta persistida,
	 *         <code>false</code> de lo contrario
	 */
	boolean isPersisted();
}
